package com.yunhe.inspect.service;

import com.yunhe.common.exception.ArgumentErrorException;
import com.yunhe.common.model.mybatis.PageResult;
import com.yunhe.inspect.domain.ItemPlan;
import com.yunhe.inspect.model.ItemPlanCondition;
import com.yunhe.inspect.model.ItemPlanBO;

import java.util.List;

/**
 * @ClassName: ItemService
 * @Description:
 * @author: GongDaCheng
 * @Date: 10:08 2021/11/9
 */
public interface ItemPlanService {

    /**
     * @Description 新增项目计划
     * @Param ItemPlanVO itemPlanVO
     * @Return int
     * @Date 2021/11/9 14:06
     */
    int createItemPlan (ItemPlanBO itemPlanBO) throws ArgumentErrorException;

    /**
     * @Description (批量)删除项目计划
     * @Param String idsStr
     * @Return int
     * @Date 2021/11/9 14:06
     */
    int deleteItemPlan(String idsStr);

    /**
     * @Description 更新项目计划
     * @Param ItemPlan itemPlan
     * @Return int
     * @Date 2021/11/9 14:06
     */
    int updateItemPlan(ItemPlan itemPlan) throws ArgumentErrorException;

    /**
     * @Description 根据id查询项目计划
     * @Param Long id
     * @Return ItemPlan
     * @Date 2021/11/9 14:06
     */
    ItemPlan findItemPlanById(Long id);

    /**
     * @Description 根据条件筛选项目计划
     * @Param ItemPlanCondition itemPlanCondition
     * @Return PageResult
     * @Date 2021/11/9 14:42
     */
    PageResult getItemPlanByCondition(ItemPlanCondition itemPlanCondition) throws ArgumentErrorException;

    /**
     * @Description 根据组织查询项目计划
     * @Param Long orgId
     * @Return ItemPlan
     * @Date 2021/11/10 9:43
     */
    List<ItemPlan> getItemPlanByOrgId(Long orgId);
}
